﻿#ifndef _OI_LT360BASE_MESSAGEOUTPUT_HPP_
#define _OI_LT360BASE_MESSAGEOUTPUT_HPP_

#include "OiLT360Base.hpp"

namespace Oi
{
    namespace Appl
    {
        class OI_LT360BASE_API MessageOutput : public QWidget
        {
            Q_OBJECT

        public:
            enum MsgStyle
            {
                normal,
                alarm,
            };

        public:
            MessageOutput(QWidget* parent = 0);
            ~MessageOutput();

            void append(const QString& text, MsgStyle style = normal);
            void check();
            void flush();
            void clear();
            void clear(const QString& text);

        signals:
            void alarmChanged(bool);

        public slots:
            void onContextMenuRequested(const QPoint&);

        private:
            OI_DISABLE_COPY(MessageOutput);
            OI_DECLARE_IMPL(MessageOutput);
        };
    }
}

#endif
